from .basic import CatalogBasic, CatalogForm


class CatalogIndexForm(CatalogForm):
    def __init__(self, index_name, columns, table_name):
        # CREATE INDEX idx on t1(a,b) using btree
        # 索引包含的元信息：
        # 表名
        # 列名 （a,b）---> 联合索引 多列索引 复合索引
        # 索引类型  可选参数  btree
        self.index_name = index_name
        self.columns = columns
        self.table_name = table_name
        # 不需要再定义types,可以反向从CatalogTable获取
    def __repr__(self):
        # 做一个美化效果，可以返回该表的schema (结构) 通过CREATE TABLE 语句
        return f'CREATE INDEX {self.index_name} ON {self.table_name}' \
               f' ({", ".join(self.columns)});'

class CatalogIndex(CatalogBasic):
    def __init__(self):
        super().__init__('index_information')

    pass
